/**
 * @this ItemManager: 本次`form` 的所有 `item` 的 `value`
 *
 * @flow
 *
 * @param formName: 采用`TimeInterval` 作为 key
 *
 * { key: value(item 的 value) }
 *
 * 可以移植的 Form
 */
export default class CDItemManager {
  static initForm(formName) {
    if (typeof this.store === 'undefined') {
      this.store = {}
    }

    this.store[formName] = {}
  }

  static updateValue(formName, value, index) {
    const validator = this.store[formName] || []
    validator[index] = { value }
    this.store[formName] = validator
  }

  static getValue(formName, index) {
    const validator = this.store[formName] || []
    const obj = validator[index]
    return obj ? obj.value : null
  }

  // 根据formName重置对应的store
  static reset(formName) {
    if (!formName) return
    this.store[formName] = undefined
  }
}